#pragma once

#include <string>


//! InfiniStore服务端配置
typedef struct ServerConfig {
    int service_port;         // 服务端口
    std::string log_level;    // 日志级别
    std::string dev_name;     // RDMA网卡名称
    size_t prealloc_size;     // 预分配大小: GB
    int ib_port;              // RDMA IB端口, ROCE端口为无效(0)


    std::string link_type;      // 网络层类型(IB或Ethernet)
    int minimal_allocate_size;  // 最小分配大小: KB
    bool auto_increase;         // 是否自动扩展
    int hint_gid_index;         // GID索引
} server_config_t;




//! InfiniStore服务端配置
typedef struct ClientConfig {
    int service_port;          // 服务端口
    std::string log_level;     // 日志级别
    std::string dev_name;      // RDMA网卡名称
    std::string host_addr;     // 服务端IP
    int ib_port;               // RDMA IB端口

    std::string link_type;     // 网络层类型(IB或Ethernet)
    int hint_gid_index;        // GID索引
} client_config_t;
